package com.lantosec.hmrp.modules.sysdata.vo;

import java.util.Date;

import com.lantosec.hmrp.modules.sysdata.entity.SysDataProcessTask;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 *  系统数据流程任务关联表 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-03-10
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="SysDataProcessTask对象", description="系统数据流程任务关联表")
public class SysDataProcessTaskVO extends BaseVO<SysDataProcessTask> {
    private static final long serialVersionUID = 1L;


    public SysDataProcessTaskVO(SysDataProcessTask entity){
        this.dataProcessTaskId = entity.getDataProcessTaskId();
        this.proInsId = entity.getProInsId();
        this.taskId = entity.getTaskId();
        this.taskName = entity.getTaskName();
        this.taskDefinitionKey = entity.getTaskDefinitionKey();
        this.taskAssignee = entity.getTaskAssignee();
        this.formLayoutId = entity.getFormLayoutId();
        this.taskAuditStatus = entity.getTaskAuditStatus();
        this.taskComment = entity.getTaskComment();
        this.taskSign = entity.getTaskSign();
        this.createTime = entity.getCreateTime();
        this.finishTime = entity.getFinishTime();
        this.lookTime = entity.getLookTime();
    }

    @Override
    public SysDataProcessTask convertToEntity(){
        return new SysDataProcessTask(this);
    }


    @ApiModelProperty(value = "系统数据流程任务ID")
    private String dataProcessTaskId;

    @ApiModelProperty(value = "Flowable流程实例ID")
    private String proInsId;

    @ApiModelProperty(value = "Flowable流程任务ID")
    private String taskId;

    @ApiModelProperty(value = "Flowable流程任务名称")
    private String taskName;

    @ApiModelProperty(value = "Flowable流程任务Key")
    private String taskDefinitionKey;

    @ApiModelProperty(value = "任务操作人Id")
    private String taskAssignee;

    @ApiModelProperty(value = "表单布局ID")
    private String formLayoutId;

    @ApiModelProperty(value = "任务审核状态")
    private Integer taskAuditStatus;

    @ApiModelProperty(value = "任务审核意见")
    private String taskComment;

    @ApiModelProperty(value = "签名图片")
    private String taskSign;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "完成时间")
    private Date finishTime;

    @ApiModelProperty(value = "查看时间")
    private Date lookTime;

    // 非数据库字段

    @ApiModelProperty(value = "任务用户名称")
    private String taskAssigneeName;

    @ApiModelProperty(value = "任务转发用户名称")
    private String notifyName;
}
